package com.event.example.mybatis;

import com.event.example.mybatis.service.TagService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

@Slf4j
@RestController
@RequestMapping("mybatis")
public class MyBatisController {

    @Resource
    private TagService tagService;

    @GetMapping("insertList")
    public Object insertList() {
        List<Tag> tagList = new ArrayList<>();
        for(int i = 1 ; i < 10 ; i++){
            Tag tag = new Tag();
            tag.setTagName("insertList"+i);
            tagList.add(tag);
        }
        tagService.insertList(tagList);
        return "OK";
    }

    @GetMapping("updateList")
    public Object update() {
        List<Tag> tagList = new ArrayList<>();
        for(int i = 1 ; i < 10 ; i++){
            Tag tag = new Tag();
            tag.setTagId(i);
            tag.setTagName("tagName"+i);
            tagList.add(tag);
        }
        tagService.updateList(tagList);
        return "OK";
    }

    @GetMapping("update")
    public Object update(Integer id,String tagName) {
        Tag tag = new Tag();
        tag.setTagId(id);
        tag.setTagName(tagName);
        tagService.updateById(tag);
        return tag;
    }

    @GetMapping("add")
    public Object add(String tagName) {
        Tag tag = new Tag();
        tag.setTagName(tagName);
        tagService.insert(tag);
        return tag;
    }

    @GetMapping("del")
    public Object del(Integer id) {
        tagService.deleteById(id);
        return id;
    }

    @GetMapping("get")
    public Object get(Integer id) {
        return tagService.selectById(id);
    }
}
